package com.kc.business.domain;

import lombok.Data;
import org.apache.ibatis.type.JdbcType;
import tk.mybatis.mapper.annotation.ColumnType;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * TODO
 * 商家
 *
 * @author zhangshuo
 * @version 1.0
 * @date 2020/9/9
 */
@Data
@Table(name = "kc_scenic_business")
public class BizScenicBusiness implements Serializable {
    private static final long serialVersionUID = 1866919162047106710L;

    @Id
    private Integer id;
    /** 商家名称 */
    @NotBlank(message = "商家名称不能为空")
    private String name;
    /** APP用户id */
    @NotNull(message = "用户id不能为空")
    private Integer userId;
    /** 所属景区id */
    private String scenicId;
    /** 人均消费 */
    private BigDecimal price;
    /** 评分 */
    private String score;
    /** logo */
    private String logo;
    /** 商家图片 */
    private String image;
    /** 视频封面图片 */
    private String videoImage;
    /** 视频介绍 */
    private String video;
    /** 商家地址 */
    private String address;
    /** 商家电话 */
    @NotBlank(message = "商家电话不能为空")
    private String phone;
    /** 经营项目 */
    private String content;
    /** 营业时间 */
    private String businessHours;
    /** 是否营业0不营业1营业默认1 */
    private Integer isBusiness;
    /** 广告推荐0否1是 */
    private Integer recommend;
    /** 广告描述 */
    @ColumnType(column = "`describe`", jdbcType = JdbcType.VARCHAR)
    private String describe;
    /** 观看商家视频消耗积分 */
    private Integer decrIntegral;
    /** 商家视频收藏数量 */
    private Integer collectNum;
    /** 分类id */
    private Integer typeId;
    /** 主分类id */
    private Integer mainTypeId;
    /** 删除状态：1已删除，0未删除 */
    private Integer isDeleted;
    /** 商家图片数组 */
    private String[] images;
    /** 经度 */
    @NotNull(message = "经度不能为空")
    @DecimalMin(value = "-180", message = "经度有误")
    @DecimalMax(value = "180", message = "经度有误")
    private BigDecimal longitude;
    /** 纬度 */
    @NotNull(message = "纬度不能为空")
    @DecimalMin(value = "-90", message = "经度有误")
    @DecimalMax(value = "90", message = "经度有误")
    private BigDecimal latitude;
    /**商家类别*/
    //@NotNull(message = "商家所属分类不能为空")
    //private Integer[] typeArr;
    /** 租户id */
    private Integer tenantId;

    private String adcode;

    /**二级商户号*/
    private String subMchid;
    /** 商家商品数量 */
    @Transient
    private Integer goodsNum;
    /*是否完善信息:1已完善，0未完善*/
    private Integer isPersonalInfoPerfected;

}
